import { ref } from 'vue'
import PageModal from '@/components/PageModal'

type CallBackFN = (item?: any) => void

export const usePageModal = (newCb?: CallBackFN, editCb?: CallBackFN) => {
  const defaultInfo = ref({})
  const pageModal = ref<InstanceType<typeof PageModal>>()
  const handleCreateClick = () => {
    defaultInfo.value = {}
    if (pageModal.value) {
      pageModal.value.visible = true
    }
    newCb && newCb()
  }
  const handleEditClick = (value: any) => {
    defaultInfo.value = { ...value }
    if (pageModal.value) {
      pageModal.value.visible = true
    }
    editCb && editCb(value)
  }
  return [defaultInfo, pageModal, handleCreateClick, handleEditClick]
}
